import re

lst = re.findall(r"\d+", "我的电话号是:10086, 我女朋友的电话是：10018")
print(lst)

# finditer 是匹配字符串中的所有内容，返回迭代器
it = re.finditer(r'\d+', '我的电话号是:10086, 我女朋友的电话是：10018')
for i in it:
    print(i.group())

# search 找到一个结果就返回结果match对象，拿数据需要.group()
s = re.search(r'\d+', '我的电话号是:10086, 我女朋友的电话是：10018')
print(s.group())
print(s.group())

# match 从头开始匹配
s = re.match(r'\d+', '我的电话号是:10086, 我女朋友的电话是：10018')
print("match", s)

# 预加载正则表达式
obj = re.compile(r'\d+')  # 封装下这个正则
ret1 = obj.finditer('我的电话号是:10086, 我女朋友的电话是：10018')  # 用正则去匹配这个可迭代对象
# print('ret1:',ret1.__next__().group())

for j in ret1:
    print(j.group())


s = "<div class='jay'><span id='1'>中国联通</span></div>" \
    "<div class='linlin'><span id='2'>中国广达</span></div>" \
    "<div class='jy'><span id='3'>还珠格格</span></div>" \
    "<div class='ttin'><span id='4'>情深深</span></div>" \
    "<div class='ter'><span id='5'>地道战</span></div>"

# (?P<赋值变量名>正则)可以从正则表达式提取的内容中进一步取里边的内容
s1 = re.compile(r"<div class='(?P<name>.*?)><span id='(?P<number>\d+)'>(?P<pp>.*?)</span></div>", re.S)  # 让.能匹配换行符
re2 = s1.finditer(s)
# print(re2.__next__().group())

for i in re2:
    print(i.group("number","name","pp"))